1. Field of the Invention
The present invention relates to data storage for computer sysplexes (“SYStem comPLEXES”), and more specifically, to the processing of partition dataset extended (PDSE) extended sharing violations among multiple sysplexes connected with a shared direct access storage device (DASD).
2. Description of the Related Art
A computer sysplex (“SYStem compPLEX”) refers to a tightly coupled cluster of independent instances of an operating system (OS) such as z/OS®. A sysplex enables the linking of multiple system images within multiple machines and treating them all as a single image. A sysplex can be a monoplex, a basic sysplex or a parallel sysplex for example. What makes a group of systems or OS images into a sysplex is the inter-image communication.
A parallel sysplex includes multiple computer systems or logical partitions (LPARs) that communicate using a Coupling Facility (CF) or cross-system coupling facility (XCF). The CF or XCF may reside on a dedicated stand-alone server configured with processors that can run Coupling Facility control code (CFCC), as integral processors on the systems themselves configured as ICFs (Internal Coupling Facilities), or less common, as normal LPARs. The CF or XCF contains Lock, List, and Cache structures to help with serialization, message passing, and buffer consistency between multiple LPARs. The primary goal of a parallel sysplex is to provide data sharing capabilities, allowing multiple databases for direct reads and writes to shared data.
A sysplex may store data on a Direct Access Storage Device or DASD, which is any secondary storage device in which each physical record has a discrete location and a unique address. DASD may include, for example, disk drives, magnetic drums or data cells. DASD may use sequential, indexed or direct access methods. The direct access capability allows records on DASD to be accessed without having to read through intervening records from the current location. Direct access is much faster than sequential access.
DASD is designed to be used within a single sysplex. The OS on each system includes access logic to “open” and “close” a dataset. The internal communications within the sysplex e.g. the CF or XCF in a parallel sysplex enforces serialization or permitted multiple access to datasets on DASD.
A dataset is a computer file having a record organization. A partitioned dataset (PDS) contains multiple “members” each of which holds a separate sub-dataset. Partitioned dataset extended (PDSE) is an improvement on the PDS file structure. PDSE files have a better directory structure that does not require pre-allocation of directory blocks when the PDSE is defined.
A PDSE dataset is stored on a single volume and includes a directory and zero or more members. Each member is similar to a sequential dataset. The directory is a series of keyed 256-byte blocks that contain entries for the members in the PDSE. Each entry comprises a member name and a pointer plus some optional user data. PDSE datasets are stored on disk as fixed 4 kb blocks known as “pages”. Each member comprises records that are processed in sequence and stored as a hierarchy (e.g. a B+ tree structure) of fixed-size pages including index pages that contain pointers to pages at lower levels in the hierarchy and data pages at the lowest level in the hierarchy. Each computer system runs a PDSE address space (as a started task) to process PDSE datasets. A complete description of PDSE datasets and their usage is provided in the IBM Partitioned Dataset Extended Usage Guide, May 2005, which is hereby incorporated by reference.
Unlike standard datasets and even PDSs, PDSEs can be shared at both dataset and member levels. Users on one or more systems within a defined sysplex can access a PDSE concurrently to create, read, or replace members. PDSEs open for output can be shared among users on a single system (normal sharing) or among users on multiple systems in a sysplex (extended sharing). The system uses XCF signaling and global resource serialization (GRS) to communicate between PDSE address spaces to ensure dataset integrity in the extended sharing mode. A full description of PDSE sharing and serialization is provided in Chapter 8 of the Usage Guide.
As stated in Chapter 8.6.2 of the Usage Guide, “PDSE extended sharing is limited to a single sysplex because PDSE extended sharing uses the cross-system coupling facility (XCF) in addition to global ENQs to implement its sharing protocol. XCF only operates within a single sysplex. If you are sharing PDSEs among multiple sysplexes or with a system outside of the sysplex, you must specify PDSESHARING(NORMAL) on each of the systems.” “All systems sharing a PDSE must be communicating with each other and must be operating in the same sharing mode to prevent damage to the dataset. If you share a PDSE outside a GRSplex only read access is allowed. Any attempt to update the PDSE may result in damage to the PDSE structures.”